# ferreus_orbit Plugins for HPE "DL345 Gen11"
fo_get_sorted_name(){
  local num=$(echo $ID_PATH | cut -d- -f4| cut -d: -f3)
  case 1 in
    $(($num>=49)))
      local box=8
      local id=$(($num - 49 + 12 ))
      num=$(($num - 48))
      ;;
    $(($num>=33)))
      local box=1
      local id=$(($num - 33 ))
      num=$(($num - 32))
      ;;
    $(($num>=17)))
      local box=3
      local id=$(($num - 17 + 8 ))
      num=$(($num - 16))
      ;;
    *)
      local box=2
      local id=$(($num - 1 + 4 ))
      num=$(($num))
      ;;
  esac

  if [ -z "$MAXILIUM_ARG_to_fo_name" ]; then
    local disk=sd$(fo_get_dev_letter ${id})
    echo $disk
    exit 0
  else
    echo "Box${BOX}-Disk${num}"
    exit 0
  fi
}

get_dispo(){
  echo 'HDD disposition (Front Panel):'
  # Box 1
  printf -- "_%.s" $(seq 1 105);echo
  local D0=$(fo_get_name_by_bus "scsi@0:2.33.0" 23); local F0=$(fo_get_field_by_bus "scsi@0:2.33.0" 23)
  local D1=$(fo_get_name_by_bus "scsi@0:2.34.0" 23); local F1=$(fo_get_field_by_bus "scsi@0:2.34.0" 23)
  local D2=$(fo_get_name_by_bus "scsi@0:2.35.0" 23); local F2=$(fo_get_field_by_bus "scsi@0:2.35.0" 23)
  local D3=$(fo_get_name_by_bus "scsi@0:2.36.0" 23); local F3=$(fo_get_field_by_bus "scsi@0:2.36.0" 23)
  printf "| Box 1 |${D0}|${D1}|${D2}|${D3}|\n"
  printf "|       |${F0}|${F1}|${F2}|${F3}|\n"
  # Box 2
  printf "|-------|-----------------------|-----------------------|-----------------------|-----------------------|\n"
  D0=$(fo_get_name_by_bus "scsi@0:2.1.0" 23); F0=$(fo_get_field_by_bus "scsi@0:2.1.0" 23)
  D1=$(fo_get_name_by_bus "scsi@0:2.2.0" 23); F1=$(fo_get_field_by_bus "scsi@0:2.2.0" 23)
  D2=$(fo_get_name_by_bus "scsi@0:2.3.0" 23); F2=$(fo_get_field_by_bus "scsi@0:2.3.0" 23)
  D3=$(fo_get_name_by_bus "scsi@0:2.4.0" 23); F3=$(fo_get_field_by_bus "scsi@0:2.4.0" 23)
  printf "| Box 2 |${D0}|${D1}|${D2}|${D3}|\n"
  printf "|       |${F0}|${F1}|${F2}|${F3}|\n"
  # Box 3
  printf "|-------|-----------------------|-----------------------|-----------------------|-----------------------|\n"
  D0=$(fo_get_name_by_bus "scsi@0:2.17.0" 23); F0=$(fo_get_field_by_bus "scsi@0:2.17.0" 23)
  D1=$(fo_get_name_by_bus "scsi@0:2.18.0" 23); F1=$(fo_get_field_by_bus "scsi@0:2.18.0" 23)
  D2=$(fo_get_name_by_bus "scsi@0:2.19.0" 23); F2=$(fo_get_field_by_bus "scsi@0:2.19.0" 23)
  D3=$(fo_get_name_by_bus "scsi@0:2.20.0" 23); F3=$(fo_get_field_by_bus "scsi@0:2.20.0" 23)
  printf "| Box 3 |${D0}|${D1}|${D2}|${D3}|\n"
  printf "|       |${F0}|${F1}|${F2}|${F3}|\n"
  printf -- "-%.s" $(seq 1 105);echo
# Rear Panel:
  echo;echo 'HDD disposition (Rear Panel):'
  printf -- "_%.s" $(seq 1 105);echo
  D0=$(fo_get_name_by_bus "scsi@0:2.49.0" 23); F0=$(fo_get_field_by_bus "scsi@0:2.49.0" 23)
  D1=$(fo_get_name_by_bus "scsi@0:2.50.0" 23); F1=$(fo_get_field_by_bus "scsi@0:2.50.0" 23)
  D2=$(fo_get_name_by_bus "scsi@0:2.51.0" 23); F2=$(fo_get_field_by_bus "scsi@0:2.51.0" 23)
  D3=$(fo_get_name_by_bus "scsi@0:2.52.0" 23); F3=$(fo_get_field_by_bus "scsi@0:2.52.0" 23)
  printf "| Box 8 |${D0}|${D1}|${D2}|${D3}|\n"
  printf "|       |${F0}|${F1}|${F2}|${F3}|\n"
  printf -- "-%.s" $(seq 1 105);echo
}
